package cn.cool.springframework.beans.factory;

import cn.cool.springframework.beans.BeansException;
import cn.cool.springframework.beans.factory.config.AutowireCapableBeanFactory;
import cn.cool.springframework.beans.factory.config.BeanDefinition;
import cn.cool.springframework.beans.factory.config.ConfigurableBeanFactory;

public interface ConfigurableListableBeanFactory extends ListableBeanFactory, AutowireCapableBeanFactory, ConfigurableBeanFactory {

    BeanDefinition getBeanDefinition(String beanName) throws BeansException;

    /**
     * 提前实例化所有的单例 bean 对象
     */
    void preInstantiateSingletons() throws BeansException;

}